C++ 面向对象与泛型编程
📚 共计 30 章节
01
C++概述与环境搭建
C++历史、特点、应用领域;安装GCC/Clang/MSVC;Hello World;编译与链接过程。
环境
入门
02
基础语法与数据类型
变量声明与初始化;基本数据类型;常量与字面量;隐式/显式类型转换。
语法
类型
03
运算符与表达式
算术、关系、逻辑、位、赋值运算符;优先级;表达式求值。
运算符
求值
04
流程控制语句
if-else, switch-case;while, do-while, for;break, continue, goto。
控制流
循环
05
数组与字符串
一维/二维数组;C风格字符串;std::string;数组与指针关系。
数组
字符串
06
函数基础
定义、声明与调用;值/指针/引用传递;返回值;函数重载。
函数
重载
07
作用域与生命周期
全局/局部/命名空间作用域;自动/静态/动态存储;static与extern。
作用域
存储
08
指针与动态内存
指针声明与运算;new/delete;智能指针入门(unique, shared, weak)。
指针
智能指针
09
引用与const
引用概念与使用;const引用;指针与引用区别;constexpr。
引用
const
10
结构体与联合体
struct定义与内存对齐;union概念;枚举(enum/enum class)。
结构体
联合
11
类与对象 (上)
类的定义;访问修饰符;构造与析构;this指针。
类
构造
12
类与对象 (下)
拷贝构造/赋值;移动语义;RAII原则。
拷贝
移动
13
运算符重载
重载规则;算术/关系/IO运算符;仿函数。
重载
仿函数
14
继承
单/多继承;构造析构顺序;访问控制;菱形继承与虚继承。
继承
虚继承
15
多态
虚函数与动态绑定;纯虚函数/抽象类;虚析构;RTTI。
多态
虚函数
16
模板基础
函数模板;类模板;类型参数与非类型参数。
模板
泛型
17
模板进阶
特化(全/偏);可变参数模板;模板元编程简介。
特化
元编程
18
STL概述
六大组件;容器分类(序列式/关联式)。
STL
组件
19
序列式容器
vector, deque, list, forward_list, array;迭代器失效。
序列容器
迭代器
20
关联式容器
set/multiset, map/multimap;红黑树;有序vs无序。
关联容器
红黑树
21
无序容器与哈希
unordered_set/map;哈希表原理;自定义哈希函数。
哈希
无序
22
迭代器与算法
迭代器分类;常用算法(find, sort, for_each, accumulate);lambda。
迭代器
算法
23
仿函数与适配器
仿函数;bind, negator, function;std::function/bind。
仿函数
适配器
24
输入输出流
iostream, fstream, stringstream;格式化IO;文件读写。
IO
文件
25
异常处理
try/throw/catch;异常安全;标准异常;noexcept。
异常
安全
26
C++11/14新特性
auto, decltype, 范围for, nullptr, 智能指针, 移动语义, lambda, 右值引用。
C++11
现代
27
C++17/20新特性
结构化绑定, if constexpr, 折叠表达式, concepts, 协程, ranges。
C++17
C++20
28
设计模式与C++
单例、工厂、观察者模式;CRTP奇异递归模板。
设计模式
CRTP
29
多线程编程
thread, mutex, lock_guard;条件变量;async/future;线程安全。
多线程
并发
30
综合项目实战
内存池 / 表达式计算器;综合运用类、模板、STL、多线程。
项目
实战